package com.tiancheng.trade.order.mapper;

import com.tiancheng.trade.order.bo.SubOrderRefundBO;
import com.tiancheng.trade.order.model.IntSubOrder;
import com.tiancheng.trade.order.model.join.IntSubOrderJoin;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 子订单持久化接口
 */
@Repository
public interface IntSubOrderMapper extends TYBaseMapper<IntSubOrder> {

    /**
     * 批量保存子订单实体
     *
     * @param subOrders
     * @return
     */
    int saveBatch(List<IntSubOrder> subOrders);

    /**
     * 子订单退款
     *
     * @param subOrderRefundBOS
     * @return
     */
    int refund(List<SubOrderRefundBO> subOrderRefundBOS);

    /**
     * 获取指定子订单，并关联主订单、优惠券
     *
     * @param subOrderId
     * @return
     */
    IntSubOrderJoin getWithJoin(@Param("subOrderId") String subOrderId);

}